package com.imooc.homework;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.Writer;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

public class PlanWriter_dom4j {
	public void writeXml() throws Exception {
		//读取文件
		String file = "D:\\pro_software\\eclipse-workspace\\xml\\src\\com\\imooc\\homework\\work_1_plan.xml";
		//SAXReader类是读取XML文件的核心类，用于将XML解析后以树的形式保存到内存中
		SAXReader reader = new SAXReader();	
		try {
			Document document = reader.read(file);
			//获取XML文档的根节点，即hr标签
			Element root = document.getRootElement();
			 //用add方法，在根节点下面创建子节点
			 Element course = root.addElement("course");
			 //用addAttribute方法，在新加的course节点中加入属性
			 course.addAttribute("id", "4");
			 //用add方法在新加的course节点中加入name子节点，并且为name节点设置文本
			 course.addElement("course-name").setText("数据结构");
			 //简化为一步，添加节点后，设置文本内容
			 course.addElement("class-hour").setText("50");
			 course.addElement("exam-form").setText("上机考试");
			 //以上部分完成后只是在内存中构建了一个新的DOM树，
			 //但没有写入xml文件中，要想写入xml文件，还需要进行以下两步
			 Writer writer = new OutputStreamWriter(new FileOutputStream(file));//创建输出流
			 document.write(writer);
			 //输出流关闭
			 writer.close();
			 
			 
			 
		} catch (DocumentException e) {
			e.printStackTrace();
		}
		
	}
	
	
	public static void main(String[] args) throws Exception {
		PlanWriter_dom4j plan = new PlanWriter_dom4j();
		plan.writeXml();
	}
}
